Feature films are projected at a rate of 24 frames per second. The process of projecting 24 still pictures every second creates the illusion of continuous motion on the screen. In contrast, video formats were designed for cathode ray tube television sets, which work in a completely different manner than film projectors. Televisions create still pictures, line by line, with an electron beam that passes over a phosphor coated screen. When television was first developed, the National Television Standards Committee (NTSC) defined a standard having 480 lines of resolution. In other words, the electron beam was passed over the phosphorous screen from left to right in 480 rows, from top to bottom, of the screen. When televisions were first developed, it was not feasible for the electron beam to scan all 480 rows in a single frame. As a consequence, televisions were initially designed to perform interlacing. With interlacing, every other row is scanned in a first frame and the skipped rows are scanned in the next frame. More recently progressive scan televisions have been developed, which enable all 480 lines to be scanned in each frame. Now with high definition television or “HDTV”, new resolution formats have been developed, such as SMPTE 274M-1995 (1920×1080 resolution) SMPTE 296M-1997 (1280×780 resolution), etc. Regardless of the video resolution used, the frame rate differs than that used by feature films.
Since video and film have different frame rates, a frame rate conversion must be performed before a feature film can be played on a video display. For example with the NTSC format, 30 frames or 60 fields are displayed per second. Thus if only two film frames are recorded for every five frames of video, a video copy of the movie can be created that plays at the correct speed.
With video displays, area flicker is an artifact that becomes visible if the image is not refreshed fast enough. This is particularly irritating with larger displays as the eye is more sensitive to flicker in the peripheral visual regions. To reduce flicker, the display needs to refreshed at a faster rate. A straight forward scheme for up conversion that repeats the same frame more than once is therefore useful for reducing flicker. For example, a conversion from 24 frames per second to 72 frames per second has generally been found to reduce the flicker problem. Unfortunately, the higher frame rate introduces another artifact called “motion judder” when the motion of an object is present in the film.
Motion vectoring is a technique used to alleviate motion judder. With motion vectoring, frames are constructed or predicted from a reference frame using motion vectors and a prediction error. The reference frame can be either unidirectional or bidirectional. With unidirectional motion prediction schemes, the predicted picture frame is constructed from a previous reference picture frame using a motion vector and a prediction error. The reference picture frame is typically a previous frame that has been compressed using an intra-frame coding technique. With bidirectional schemes, the predicted frame is constructed from the best matching of either a previous or a future picture frame using either forward or backward motion vectors and a prediction error.
Sub-pixel accuracy is a key performance issue with motion vectoring is. Sub-pixel accuracy is generally defined as the lighting of pixels having a designated point that lies inside a given polygon. For example, if the pixel center is the designated point, then any pixel with its center inside the polygon will be lit. Otherwise the pixel is not lit. The location of the designated point is arbitrary. If the designated point is shifted from the center to the lower left point of each pixel, then the display of the polygon will be shifted by the distance of approximately 0.5 pixels in the lower left direction.
Interpolating frames with just pixel resolution vectors does not provide very good resolution detail. To improve resolution, the interpolation of sub-pixel vectors has been performed to avoid a loss of detail. One known technique for determining sub-pixel resolution vectors is to generate a sub-pixel resolution image for both the current and previous frame images and then search and locate the best vector in the sub-pixel resolution image. This approach, however, provides a limited increase in resolution given the significant cost in generating and storing the sub-pixel resolution frame information.
An apparatus and method for generating refined sub-pixel vectors for motion estimation from vector correlation values and converged vector correlation values using quadratic approximations is therefore needed.